<?php

error_reporting(E_ERROR | E_PARSE);
session_start();
require_once "Mail.php";
require_once 'composer/vendor/propel/propel1/runtime/lib/Propel.php';
Propel::init("composer/vendor/propel/propel1/generator/bin/em/build/conf/esportsmaniacs-conf.php");
$antiguo = set_include_path("composer/vendor/propel/propel1/generator/bin/em/build/classes");
$email = $_POST['email'];
$email2 = $_POST['email2'];
$password = $_POST['password'];
$password2 = $_POST['password2'];
$lenusuario = $_POST['usuario'];
$strlenusuario = strlen($lenusuario);
$strlenpassword = strlen($password);

$error = false;
$_SESSION['errorRegistro'] =  null;
$q = usuariosQuery::create()
        ->filterByUsuario($_POST['usuario'])
        ->findOne();

if (isset($q)) {
    $_SESSION['errorRegistro'] .= "<li class='li-error'>El usuario ya existe</li>";
    $error = true;
}

if ($strlenusuario < 4 || $strlenusuario > 12) {
    $_SESSION['errorRegistro'] .= "<li class='li-error'>El usuario debe tener entre 4 y 12 letras</li>";
    $error = true;
}

if ($email2 != $email) {
    $_SESSION['errorRegistro'] .= "<li class='li-error'>El email no coincide</li>";
    $error = true;
} 

if ($strlenpassword < 6 || $strlenpassword > 16) {
    $_SESSION['errorRegistro'] .= "<li class='li-error'>El password debe tener entre 6 y 16 caracteres</li>";
    $error = true;
}

if ($password2 != $password) {
    $_SESSION['errorRegistro'] .= "<li class='li-error'>Los passwords no coinciden</li>";
    $error = true;
}

$a = usuariosQuery::create()
        ->filterByEmail($_POST['email'])
        ->findOne();
if (isset($a)) {
    $_SESSION['errorRegistro'] .= "<li class='li-error'>El mail ya existe</li>";
    $error = true;
}

if (!$error) {


    try {
        $usuario = new usuarios();
        $usuario->setUsuario($_POST['usuario']);
        $usuario->setPassword(md5($_POST['password']));
        $usuario->setEmail($_POST['email']);
        $usuario->setFechanacimiento($_POST['fechanacimiento']);
        $usuario->setAdmin(false);
        $usuario->setFecharegistro(date("Y-m-d"));

        $usuario->setCodigoverificacion(md5($usuario->getUsuario() . $usuario->getEmail()));

        set_include_path($antiguo);
        $from = "Registro EsportsManiacs <registro@esportsManiacs.com>";
        $to = "<" . $_POST['email'] . ">";
        $subject = "Verificación de email";
        $host1 = $_SERVER['HTTP_HOST'];
        $uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
        $extra = 'verify.php';
        $body = "http://" . $host1 . $uri . "/" . $extra . "?id=" . $usuario->getEmail() . "&code=" . $usuario->getCodigoverificacion();

        $host = "smtp.1and1.es";
        $username = "registro@esportsmaniacs.com";
        $passworda = "Fyv8Rww6X0mAHRpxppQZ";

        $headers = array('From' => $from,
            'To' => $to,
            'Subject' => $subject);
        $email = new Mail();

        $smtp = $email->factory('smtp', array('host' => $host,
            'auth' => true,
            'username' => $username,
            'password' => $passworda));

        $mail = $smtp->send($to, $headers, $body);
        $usuario->setVerificado(false);
        $usuario->save();
        $_SESSION['registroCorrecto'] = true;
    } catch (Exception $exc) {
        $_SESSION['errorRegistro'] .= "<li class='li-error'>A ocurrido un error enviando el email</li>";
    }
}
error_reporting(E_ALL);
$host3 = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'registrar.php';
header("Location: http://" . $host3 . $uri . "/" . $extra);
die();
?>
